[アップデート] CloudWatch EventsのターゲットとしてCloudWatch Logsがサポートされました!

[アップデート] CloudWatch EventsのターゲットとしてCloudWatch Logsがサポートされました!

Clock Icon2019.06.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、中川です。

CloudWatch Events のターゲットとして、CloudWatch Logs がサポートされました。

Amazon CloudWatch Events Now Supports Amazon CloudWatch Logs as a Target and Tagging of CloudWatch Events Rules

例えばこの機能を使うことで、EC2 が終了したときのインスタンスの情報や、GuardDuty のイベントを CloudWatch Logs にログとして残すことができます。
早速、この機能を使って、GuardDuty のログを残す手順をやってみたいと思います。

やってみた

CloudWatch Eventsルールを作成

マネージメントコンソールで[CloudWatch]->[イベント]->[ルールの作成]を選択します。

今回は GuardDuty で重要度:高の Finding をイベントを条件とするので、カスタムイベントパターン使用します。
イベントソースを選択する画面で、[編集]をクリックします。

以下の json を貼り付け、[保存]を選択します。

{
	"source": [
		"aws.guardduty"
	],
	"detail-type": [
		"GuardDuty Finding"
	],
	"detail": {
		"severity": [
			8
		]
	}
}
  • 重要度:高は、ドキュメント上で「seveity が 7.0〜8.9」と記載されていますが、今回は検証のため8のみを指定しています。

次に、ターゲットを設定します。
[ターゲットの追加]を選択すると、プルダウンから「ロググループ」を選択できるようになっています。

グループ名を"guardduty"と設定します。今回は、AWS で予約されたプレフィックスを使用しておりますが、予め自分で用意したロググループを選択することもできます。

イベントルール名を設定し、CloudWatch Events の設定は完了です。

動作確認

GuardDuty には、テスト用にサンプルを出力する機能がありますので、今回はそちらを使用します。
[GuardDuty]->[設定]->[結果サンプルの生成]を選択します。

実行すると、以下のようにサンプルが生成されます。

準備が完了したので、CloudWatch Logs を確認します。
[CloudWatch]->[ログ]->[/aws/events/guardduty]を選択すると、ログストリームが生成されています。
ログストリームごとに参照すると見にくいので、上部の[イベント検索]を選択します。

すると、Finding が出力されていることを確認できます。

一覧からログを開いてみると、シビリティが 8 の結果のみをログに残せていることを確認できました!

さいごに

CloudWatch Events のターゲットとして、CloudWatch Logs がサポートされたので試してみました。
今回行った GuardDuty のイベント以外にも、TrustedAdvisor のチェック結果など、今までログに残しずらかった情報も残せるようになったと思います。
これからも良さそうな活用事例があれば試してみたいと思います!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.